home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-03-15 | 2.3 KB | 73 lines | [TEXT/gamI] |
- ; ----------------------------------------------------------------------------
- ; File: Template.scm
- ; Description: A window template function.
- ; Author: Mike Brumbelow @ ART
- ; Created: 1-Oct-94
- ; Modified: 01-Jan-95
- ; Language: Scheme
- ; Status: Experimental (Swim at your own risk)
- ;
- ; (c) Copyright 1994, Advanced Robotic Technologies, Inc.
- ; All Rights Reserved.
- ;
- ; ----------------------------------------------------------------------------
-
- (define (mike-view top left bottom right name var)
- (let* ((rect (mac#rect top left bottom right))
- (w (mac#newwindow rect name #t var -1 #t))
- (wind 0)
- (new-view (gensym)))
-
- (define (handle-keydown ch mods)
- (case ch
- ((#\c)
- (mac#eraserect w (mac#rect -32000 -32000 32000 32000)))
- ((#\q)
- (mac#sysbeep 20)
- (handle-goaway))
- (else #t)))
-
- (define (handle-goaway)
- (mac#window-unbind w)
- (mac#disposewindow w))
-
- (define (mousedown pt modifiers) #t)
- (define (mouseup pt modifiers) #t)
- (define (keydown ch modifiers) (handle-keydown ch modifiers))
- (define (keyup ch modifiers) #t)
- (define (autokey ch modifiers) #t)
- (define (goaway) (handle-goaway))
- (define (update) #t)
- (define (activate) #t)
- (define (deactivate) #t)
-
- (define (wind msg)
- (case msg
- ((MOUSEDOWN) mousedown)
- ((MOUSEUP) mouseup)
- ((KEYDOWN) keydown)
- ((KEYUP) keyup)
- ((AUTOKEY) autokey)
- ((GOAWAY) goaway)
- ((UPDATE) update)
- ((ACTIVATE) activate)
- ((DEACTIVATE) deactivate)
- (else (error "Unknown window message:" msg))))
-
- (if (= w 0)
- (error "Window could not be created (out of memory?)")
- (begin
- (mac#window-bind w wind)
- (mac#setport w)
- (put new-view 'window w)
- (put new-view 'rect rect)
- ))
- new-view))
- ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-
- (define (kill) ;; A window killing function
- (set! x (get test 'window)) ;; Use only when the window is hung-up
- (mac#disposewindow x)) ;; Or when a function has gone hay-wire
-
- (set! test (mike-view 50 40 400 500 "Type name of window here" 4))